A virtual machine clone is a copy of an existing virtual machine (VM). Cloning of VMs provides unique opportunities for managing a virtual environment while accomplishing tasks in a more productive manner. A cloned VM can take at least two forms: a full clone or a linked clone. As used herein, a full clone refers a copy of a VM that operates independently of the original. As used herein, a linked clone refers a copy of a parent VM that shares the virtual disk(s) of the parent VM in an ongoing manner and stores changes to the parent virtual disk data in its own virtual disk(s).
A full clone provides easy provisioning and better performance than a linked clone. When a VM has a large virtual disk (e.g., 100 gigabytes), however, the creation of the full clone takes significant amount of time. One full cloning solution offloads the cloning operation to the storage array to reduce the time needed for created the clone. This solution, however, depends upon storage arrays or specific hardware that supports the offloaded operation and is limited to source and destination VMs coupled to the same storage array.
A linked clone links to a snapshot of the parent VM and, therefore, is created in little time. The parent VM and linked VM each maintains changes to the virtual disk in separate, redo log files. Such changes by the parent VM do not affect the linked clone VM and vice versa. The linked clone conserves disk space and allows multiple VMs to use the same software installation within the parent. A linked clone, however, is dependent upon the functionality of the parent VM. If the parent VM's virtual disk is corrupted or damaged, both the parent and linked clone will fail. Additionally, the linked clone VM continues to grow over a period of time (based on usage) as a result of the changes written to the clone redo log file.